﻿using System;
using System.Windows.Forms;

namespace WinHeatTransfer
{
    public partial class frmNewMaterial : Form
    {
        public frmNewMaterial()
        {
            InitializeComponent();
        }

        Material _material = null;

        public Material Material => _material;

        private void btnCancel_Click(object sender, EventArgs e)
        {
            DialogResult = DialogResult.Cancel;
        }

        private void btnOk_Click(object sender, EventArgs e)
        {
            string name = txtName.Text;
            string err = string.Empty;

            _material = null;
            double lambda = 0, cp = 0, ro = 0, melting = 0;

            do
            {
                if (name.Length < 3)
                {
                    err = "Нзавание материала должно состоять минимум из двух символов.";
                    break;
                }

                if (!double.TryParse(txtLambda.Text, out lambda))
                {
                    err = "Значение теплопроводности задано некорректно.";
                    break;
                }

                if (!double.TryParse(txtCp.Text, out cp))
                {
                    err = "Значение теплоемкости задано некорректно.";
                    break;
                }

                if (!double.TryParse(txtRo.Text, out ro))
                {
                    err = "Значение плотности задано некорректно.";
                    break;
                }

                if (!double.TryParse(txtMeltingPoint.Text, out melting))
                {
                    err = "Значение температуры плавления задано некорректно.";
                    break;
                }

            } while (false);

            if (string.IsNullOrEmpty(err))
            {
                _material = new Material { Name = name, Conductivity = lambda, HeatCapacity = cp, Density = ro, MeltingPoint = melting };
                DialogResult = DialogResult.OK;

            }
            else
            {
                MessageBox.Show(err, Text, MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
        }
    }
}
